home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / vbcc-68k-src / machines / amiga68k / include / math.h < prev    next >
C/C++ Source or Header  |  1999-01-01  |  2KB  |  59 lines

  1. /*  Die Library ist auch noch unvollstaendig    */
  2.  
  3. #ifndef __MATH_H
  4. #define __MATH_H 1
  5.  
  6. #define HUGE_VAL        1e500
  7.  
  8. #if defined(_M68881)||defined(_M68040)||defined(_M68060)
  9. double sqrt(__reg("fp0") double)="\tfsqrt.x\tfp0";
  10. double fabs(__reg("fp0") double)="\tfabs.x\tfp0";
  11. double floor(__reg("fp0") double)="\tfmove.l\tfpcr,d1\n\tmoveq\t#32,d0\n\tor.l\td1,d0\n\tand.b\t#255-16,d0\n\tfmove.l\td0,fpcr\n\tfint.x\tfp0\n\tfmove.l\td1,fpcr";
  12. double ceil(__reg("fp0") double)="\tfmove.l\tfpcr,d1\n\tmoveq\t#48,d0\n\tor.l\td1,d0\n\tfmove.l\td0,fpcr\n\tfint.x\tfp0\n\tfmove.l\td1,fpcr";
  13. #else
  14. double sqrt(double);
  15. double fabs(double);
  16. double floor(double);
  17. double ceil(double);
  18. #endif
  19.  
  20. #ifdef _M68881
  21. double acos(__reg("fp0") double)="\tfacos.x\tfp0";
  22. double asin(__reg("fp0") double)="\tfasin.x\tfp0";
  23. double atan(__reg("fp0") double)="\tfatan.x\tfp0";
  24. double cos(__reg("fp0") double)="\tfcos.x\tfp0";
  25. double cosh(__reg("fp0") double)="\tfcosh.x\tfp0";
  26. double exp(__reg("fp0") double)="\tfetox.x\tfp0";
  27. double log(__reg("fp0") double)="\tflogn.x\tfp0";
  28. double log10(__reg("fp0") double)="\tflog10.x\tfp0";
  29. double modf(__reg("fp0") double,__reg("a0") double *)="\tfintrz.x\tfp0,fp1\n\tfmove.d\tfp1,(a0)\n\tfsub.x\tfp1,fp0";
  30. double pow(__reg("fp0") double,__reg("fp1") double)="\tfmul.x\tfp1,fp0\n\tfetox.x\tfp0";
  31. double sin(__reg("fp0") double)="\tfsin.x\tfp0";
  32. double sinh(__reg("fp0") double)="\tfsinh.x\tfp0";
  33. double tan(__reg("fp0") double)="\tftan.x\tfp0";
  34. double tanh(__reg("fp0") double)="\tftanh.x\tfp0";
  35. #else
  36. double sin(double);
  37. double cos(double);
  38. double tan(double);
  39. double sinh(double);
  40. double cosh(double);
  41. double tanh(double);
  42. double asin(double);
  43. double acos(double);
  44. double atan(double);
  45. double exp(double);
  46. double log(double);
  47. double log10(double);
  48. double pow(double,double);
  49. double modf(double,double *);
  50. #endif
  51.  
  52. double atan2(double,double);
  53. double ldexp(double,int);
  54. double frexp(double,int *);
  55. double fmod(double,double);
  56.  
  57. #endif
  58.  
  59.